콘텐츠로 건너뛰기
  • 0 투표
    1 게시물
    1 조회수
    보
    현재 토스플레이스 개발자 센터에서 포스/프론트 플러그인을 올려서 테스트해보는 중입니다. 그런데 여러 사업자에 포스, 프론트 등등이 있다보니 파일을 잘못올리는 경우가 있는데 이때 기존 이력이 남아 있어서 오히려 더 헷갈리는 경향이 있는 것 같습니다. 숨기거나 삭제할 수 있는 기능이 있으면 좋을 것 같습니다.
  • 0 투표
    5 게시물
    2k 조회수
    A
    @토스플레이스-개발자센터 답변 감사합니다!
  • 0 투표
    2 게시물
    3k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 문의하신 POS 워커 플러그인의 로그 보관 방식에 대해 안내 드립니다. 1. IndexedDB 사용 및 보관 범위 IndexedDB는 브라우저 표준 기능이며, 토스플레이스 SDK에서 공식 제공하는 저장소 기능은 아닙니다. IndexedDB 이용에 따른 데이터 보존·삭제와 동작 안정성은 토스플레이스에서 보장하는 범위가 아니므로, 상세 답변 드리기 어려운 점 양해 부탁 드립니다. 사용 가능 용량, 플러그인 업데이트·POS 재시작·POS 앱 업데이트 후 데이터 유지, 7일 이상 보관 여부나 권장 보관 기간도 보장하여 안내 드리기는 어렵습니다. 2. SDK Storage API Storage API는 간단한 문자열 데이터를 저장·조회·삭제하는 기능입니다. 객체나 배열은 문자열로 변환해 저장할 수 있습니다. 저장 범위: 각 POS 단말의 앱별 저장소입니다. 같은 매장의 다른 POS나 다른 앱과 자동 공유되지 않습니다. 용량: 키 개수, 값 하나의 크기, 전체 용량의 수치 상한은 공개 가이드에 명시되어 있지 않습니다. 무제한 저장이 가능하다는 의미는 아닙니다. 데이터 유지: 단순 POS 재시작이나 동일 앱의 플러그인 버전 변경만으로 초기화하는 방식은 아닙니다. 다만 POS 앱 업데이트 전후나 삭제·재설치 후의 보존을 보장하는 공개 기준은 없으므로, 장기 보관이 필요한 로그의 유일한 백업 수단으로 사용하지 않도록 권장합니다. 호출 제한: 공개 가이드는 이벤트 구독 외 요청에 60초 100회, 30분 200회 제한을 안내하며, Storage에 대한 예외는 명시하지 않습니다. 해당 기준을 고려해 호출량을 관리해 주세요. 대용량 로그를 안정적으로 저장·조회하는 용도로 제공되는 기능은 아닌 점 고려해 주세요. Storage API 가이드와 호출 제한 가이드를 참고해 주세요. 앱별 저장소가 분리되는 점은 기존 포럼 답변의 2번 항목에서도 안내 드렸습니다. 3. 로그 보관 권장 방식 공개 가이드에서 권장하는 방식은 Sentry 또는 솔루션사 로그 수집 서버를 이용하는 것입니다. 단말 내부에서 로그를 7일 이상 보관하도록 보장하는 별도 SDK 기능은 안내되어 있지 않습니다. 7일 이상 보관해야 하는 백업 로그는 별도 수집 서버에서 보관 기간과 용량을 관리하는 구성을 권장합니다. 개인정보·카드번호·결제 인증정보 등 민감정보는 로그에 기록하지 않도록 해 주세요. POS 로그 수집 가이드를 참고 부탁 드립니다.
  • 테스트 가맹점이 아닌 실제 운영 매장 생성

    자유 문의 pos 플러그인
    2
    0 투표
    2 게시물
    3k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 개발자센터의 ‘테스트 매장’ 목록과 실제 운영 매장 등록·관리는 별개이며, 테스트 매장 5개 한도가 운영 매장 수를 제한하는 것은 아닙니다. 신규 운영 매장 등록은 담당 VAN 대리점을 통해 진행해 주세요. 이미 토스플레이스를 이용 중인 매장은 새로 만들지 않고 기존 매장에 플러그인을 연결하시면 됩니다. POS 플러그인은 아래 순서로 적용해 주세요. 운영용 앱의 라이브 검수·배포를 완료합니다. 개발자센터의 내 애플리케이션(포스)에서 서비스 코드를 확인합니다. 각 매장의 POS → 설정 → 기타설정 → 서비스 연동 → 서비스 코드로 연결에서 해당 코드를 입력합니다. 자세한 방법은 POS 서비스 설치 가이드를 참고 부탁 드립니다. 이전에 안내 드린 환경별 앱 구성·라이브 배포 답변도 함께 참고해 주세요. 운영 단말에 라이브 버전을 적용하려면 해당 단말이 테스트 단말기로 등록되어 있지 않은지도 확인 부탁 드립니다.
  • 0 투표
    2 게시물
    3k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 문의 주신 프린터 지원 범위와 연결 조건을 항목별로 안내 드립니다. 1. 지원 프린터 기종 외부 프린터는 일반적으로 시리얼 포트 연결을 지원하는 경우 프론트와 연동할 수 있습니다. 다만 모든 제조사·기종의 호환성을 보장하지는 않으므로, 사용하실 프린터로 실제 연결 및 주방 주문서 출력이 정상 동작하는지 직접 확인 부탁 드립니다. 동일 모델이라도 연결 옵션까지 확인해 주세요. 2. OS별 연결 방식 POS에 직접 연결하는 방식과 프론트를 거쳐 연결하는 방식은 구분해야 합니다. POS 직접 연결 설정은 운영체제와 앱 버전에 따라 다음과 같이 구분됩니다. Windows·macOS: 시리얼, USB 등 OS에 등록된 프린터 장치, 네트워크 유·무선 연결 iOS: Bluetooth, 네트워크 유·무선 연결 Android: Bluetooth, 네트워크 유·무선 연결. USB는 POS 앱 1.23.7 이상에서 연결 설정 제공 다만 모든 프린터 기종이 모든 POS 환경에서 사용 가능하다고 보장해드리기 어렵습니다. 사용하실 프린터와 POS 환경에서 실제 연결 및 출력 동작을 직접 확인 부탁 드립니다. 3. POS 직접 연결과 프론트 경유 연결 POS 직접 연결: 프린터를 POS 기기에 연결하고, 해당 연결 유형으로 등록하는 방식입니다. 프론트 경유 연결: 프린터를 프론트의 시리얼 포트에 연결하고, POS에서 연결 유형을 ‘토스 프론트’로 선택하는 방식입니다. 모델명만으로 연결 방식을 구분하기보다는 프린터의 실제 연결 옵션과 사용하실 POS 환경을 함께 확인해 주세요. 4. 드라이버·펌웨어 및 권장 설정 POS에 프린터 장치로 직접 연결하는 경우에는 사용하는 OS에서 프린터가 정상적으로 인식되는지 확인해 주세요. 드라이버와 펌웨어는 해당 모델·OS에 맞는 제조사 안내를 확인 부탁 드립니다. 프론트 시리얼 연결은 프린터 연결 가이드에 따라 통신 속도를 9600으로 맞추고 테스트 출력해 주세요. 이후 주방 주문서 설정 가이드에 따라 출력 여부와 매수를 설정해 주세요. 감사합니다.
  • 개발, 라이브 배포 문의

    자유 문의 pos 플러그인
    2
    0 투표
    2 게시물
    4k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 문의 주신 환경별 배포와 ACL 설정, 이전 버전 복귀 방법을 안내 드립니다. 1. 개발·스테이징·운영 구성 앱은 추가 등록할 수 있으며, 앱마다 개발·라이브 배포를 구분합니다. 세 환경의 빌드와 ACL을 독립적으로 운영하시려면 환경별로 앱을 분리하는 구성을 제안 드립니다. 운영용 앱은 개발 배포가 아닌 검수 후 라이브 배포로 운영해 주세요. 2. 테스트 단말기별 버전 같은 앱의 개발 배포는 등록된 테스트 단말기에 공통으로 적용됩니다. 단말기마다 서로 다른 개발 버전을 지정하는 기능은 제공하지 않습니다. dev와 stg 빌드를 동시에 유지하려면 앱을 분리하고 각각 테스트 단말기를 등록해 주세요. 앱별 테스트 단말기 등록은 기존 답변도 참고해 주세요. 3. ACL 설정 ACL은 여러 URL을 줄바꿈으로 등록할 수 있습니다. 다만 같은 앱의 개발·라이브 배포에 공통 적용됩니다. 개발용 URL을 삭제하면 해당 앱의 개발 배포에서도 접근할 수 없으므로, 환경별 허용 목록까지 분리하려면 앱을 나눠 주세요. ACL 설정 가이드 4. 실행 환경 구분 공개 SDK는 개발·라이브 구분값을 제공하지 않으며, getPluginInfo에서는 이름과 버전을 조회할 수 있습니다. 서버 주소와 Sentry 설정은 현재처럼 환경별 빌드 설정으로 구분해 주세요. Plugin API 5. 라이브 검수 및 이전 버전 복귀 검수는 매주 월·목요일, 근무일 기준으로 진행되며, 검수 승인 후 라이브 배포할 수 있습니다. 이전 버전으로 되돌리는 롤백 기능은 제공하지 않습니다. 이전 코드로 복귀가 필요하면 정상 동작하던 코드를 신규 버전으로 업로드한 뒤, 검수·배포하는 방식을 권장합니다. 배포 후 POS를 새로고침하거나 재시작하여 변경 사항을 반영해 주세요. 검수·배포 가이드
  • 0 투표
    1 게시물
    6k 조회수
    토스플레이스-개발자센터토
    학원 수납부터 무인기기 결제, AI 매출 분석까지. 토스플레이스의 플러그인과 Open API 활용 사례를 소개해요. FRONT 플러그인 토스 프론트(결제단말) 위에서 동작해요. 활용 분야 활용 예시 학원 수납·출결 학생별 수강료 결제와 수납 처리, 등하원 출결 체크 타사 POS 연동 POS에서 금액을 보내 토스 단말로 결제하고 결과 받기 무인기기·키오스크 포토부스 촬영 요금 결제, 주차요금 결제 후 차단기 개방, 무인 시설 이용 시작 피트니스·레저 회원권 결제 후 회원 등록과 출입 QR 발급 병의원·약국·뷰티 병원·약국 프로그램 수납 연동, 미용실 정액권 차감·디자이너별 인센티브 계산 POS 플러그인 토스 POS 안에서 동작해요. 활용 분야 활용 예시 공동구매 수령·결제 밴드·카톡으로 받은 주문을 손님 이름으로 찾아 결제 테이블오더·QR오더 테블릿 주문을 POS에 반영하고 가격·품절 정보 동기화 포인트·쿠폰·스탬프 결제 후 자동 적립하고 취소하면 적립한 혜택도 회수 자사 채널 주문 접수 자사 앱·픽업·AI 전화주문을 POS 한 곳에서 접수 바코드 ERP에 등록된 상품을 바코드로 조회해 POS 장바구니에 담기 매장 설비 연동 주방 화면·컵 라벨 프린터로 주문 전송, 커피 로봇·스마트 플러그·매장 음악 제어 Open API 파트너 서버에서 매장 데이터를 가져와 활용해요. 활용 분야 활용 예시 매출 분석·AI 리포트 매출을 시트·노션에 정리하거나 AI 챗봇으로 분석 회계·장부·ERP 결제·취소·정산 정보를 장부에 자동 기록 재고·발주 판매량에 따라 재고를 차감하고 원재료 발주 추천 결제 내역 대조 자체 장부와 결제 내역을 비교해 미납·취소 누락 확인 본사·다점포 관리 지점별 매출을 모아 실적 비교, 가맹점 수수료 계산에 활용 전자가격표 연동 상품 가격이 바뀌면 매장의 전자가격표도 자동 변경 ※ 구체적인 구현 방식은 각 서비스에 맞게 직접 설계해 주셔야 하며, 개별 구현 상담은 제공하지 않아요. 사례 공유, 어떠셨나요? 다른 개발자들의 플러그인 활용 사례가 궁금하신가요? 이런 글이 도움이 되는지, 더 궁금한 점은 무엇인지 댓글로 알려주세요. 관심 있는 분들이 계시다면, 실제 개발자 인터뷰를 통해 서비스를 어떻게 운영하고 있는지도 소개할게요.
  • 0 투표
    2 게시물
    7k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 문의 주신 내용 답변드립니다. 프론트 플러그인을 활성화하면 토스 POS와의 연동은 불가능합니다. 프론트 플러그인은 외부 솔루션이 프론트 단말기와 직접 연동되는 구조로 동작하며, 플러그인이 활성화된 환경에서는 토스 POS와의 연결이 끊어집니다. 따라서 두 가지 질문 모두 현재는 지원되지 않습니다. POS는 그대로 쓰고 프론트만 플러그인 적용 → 불가 POS 플러그인 + 프론트 플러그인 동시 사용 → 불가 혹시 어떤 기능을 구현하려고 하시는지 배경을 공유해 주시면, 현재 제공 중인 연동 방식으로 구현 가능한지 검토 후 대안을 안내드릴 수 있습니다. 감사합니다.
  • 0 투표
    5 게시물
    8k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 문의 주신 프론트 플러그인 결제 후 영수증 출력 방법을 안내 드립니다. 1. 카드 매출전표 출력 플러그인 결제 시 전자영수증은 지원하지 않습니다. 프론트에 프린터가 연결되어 있으면 결제 완료 후 기본 영수증 1장이 자동 출력됩니다. 추가 출력이나 재출력이 필요한 경우에는 Printer API의 printReceipt를 이용해 별도로 구현해 주세요. 2. printReceipt 호출값 결제 응답 전체가 아니라, 결제에 사용한 paymentKey와 출력 수량 count를 전달합니다. 1장 출력 시 paymentKey와 count: 1을 전달하시면 됩니다. 주문 정보 orderInfo와 추가 문구 additionalText는 선택 사항입니다. 파라미터와 호출 예제를 참고 부탁 드립니다. 3. 외부 프린터 연결 프론트에 연결한 시리얼·블루투스 프린터로 출력하는 경로가 있습니다. 유선 연결 예시는 CPP-3000이며, 프론트 Serial 포트에 연결한 후 프린터 설정에서 시리얼 케이블을 선택하고 테스트 출력으로 확인합니다. 사용할 프린터의 호환 여부는 구매·설치 대리점에 먼저 확인 부탁 드립니다. 연결 가이드의 유선 연결 및 프론트 설정 부분을 참고해 주세요. 해당 가이드의 POS 등록 단계는 현재 문의하신 프론트 단독 구성과 구분해 보셔야 합니다. paymentKey로 결제 정보를 조회해 출력하는 방식은 기존 Printer API 답변도 참고 부탁 드립니다.
  • 0 투표
    4 게시물
    8k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 탭 화면 앱의 개발 버전이 적용된 점 확인했습니다. 추가로 문의 주신 웹 워커 앱 활성화 방법을 안내 드립니다. 개발자센터 → 테스트 가맹점 관리 → 해당 테스트 매장 상세에서 tokorder-worker의 사용 여부를 ON으로 설정해 주세요. POS의 서비스 코드 연결이 아닌, 테스트 가맹점의 앱 사용 설정으로 진행 부탁 드립니다. 라이브 배포 없이도 개발 배포 버전으로 테스트할 수 있습니다. 두 앱의 테스트 단말기 등록은 확인하셨으므로, 워커 앱 사용 설정 후 POS를 완전히 종료하고 다시 실행해 주세요. 웹 워커는 백그라운드에서 실행되며 별도 탭 화면이 생기지는 않습니다. 설정 후 탭 앱에서 보낸 메시지를 워커가 수신하는지 확인 부탁 드립니다. 앱 사용 설정은 POS 플러그인 테스트 가이드를, 두 앱의 구성과 통신 방법은 앞서 안내 드린 답변을 참고해 주세요. 지금까지 안내 드린 내용을 모두 확인하신 후에도 동일한 문제가 반복된다면, 개발자센터 메일로 문의 부탁 드립니다. 개발자센터 메일: developer-support@tossplace.com 메일에는 아래 내용을 함께 기재 부탁 드립니다. 탭 앱(season7-tokorder-pos)과 웹 워커 앱(tokorder-worker) 각각의 재현 시점 개발 배포 버전 테스트 매장명·매장고유번호, 워커 앱 사용 여부를 ON으로 설정하고 POS를 재시작했는지 여부 문제가 발생한 날짜와 시각(한국 시간, 가능한 분 단위) 문제를 재현한 순서, 기대한 동작과 실제 동작, 표시된 오류 문구(가능하면 화면 캡처 첨부) POS 시리얼번호는 기존에 전달해 주신 기기와 달라진 경우에만 추가
  • 0 투표
    2 게시물
    8k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 탭 화면과 웹 워커 구성, 결제 후 화면 복귀 방법을 안내 드립니다. 1. 패키지와 앱 등록 현재 개발자센터에서는 실행 환경을 탭 화면 또는 웹 워커로 구분해 등록합니다. 탭 화면 앱과 웹 워커 앱을 각각 등록·배포하고, 같은 매장에 활성화하는 방식으로 구성해 주세요. ‘함께 사용하는 구조’는 두 역할을 연계한다는 의미이며, 파일을 한 ZIP에 넣는 것만으로 두 실행 환경이 함께 활성화되는 것은 아닙니다. 탭 화면 ZIP은 최상위에 iframe-manifest.json과 화면 파일을, 웹 워커 ZIP은 최상위에 main.js를 포함합니다. 각 탭 화면 가이드와 웹 워커 가이드의 샘플로 각각 빌드해 주세요. 2. 앱 간 데이터 전달 서로 다른 앱의 Storage는 공유되지 않습니다. 실행 중인 앱 간에는 Plugin Unicast API를 사용할 수 있으며, send(message, to)의 to에는 수신할 앱의 앱 ID(packageName)를 넣습니다. 탭이 닫힌 동안의 메시지를 나중에 자동으로 받는 구조로 의존하지 말고, 결제 결과는 서버에 저장해 탭을 다시 열 때 조회하도록 구성해 주세요. 3. 이동할 탭 지정 navigation.navigate('plugin-tab', packageName)의 packageName도 이동할 탭 앱의 앱 ID입니다. 해당 탭 앱에서 조회한 plugin.getPluginInfo().name과 같은 값이며, 화면에 표시되는 탭 제목이나 숫자 App ID가 아닙니다. 워커에서 조회한 name은 워커 자신의 ID이므로 그대로 넣지 않도록 주의해 주세요. 4. 결제 후 복귀 웹 워커에서 payment.on('paid')를 수신한 뒤, 해당 서비스의 주문인지와 전체 결제 완료 여부를 확인하고 탭 앱으로 이동해 주세요. 분할결제는 결제 건마다 이벤트가 발생하므로, 주문의 paymentPrice.paymentUnpaidValue가 0인지 확인하는 과정이 필요합니다. 같은 흐름을 안내한 기존 결제 이벤트 답변과 화면 자동 이동 공지를 함께 참고해 주세요. 개발 배포가 적용되지 않은 원인은 패키지에 main.js가 있다는 사실만으로 확정하기 어렵습니다. 해당 앱 ID, 개발 배포 버전 번호, POS 시리얼번호를 개발자센터 메일로 전달 부탁 드립니다. 발생 시간은 글에 남겨주신 10월 24일 11:50~12:10 KST 기준으로 확인하겠습니다.
  • api 권한문제

    자유 문의 pos 플러그인
    2
    0 투표
    2 게시물
    10k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 주문 생성 API 권한 검토를 위해 필요한 신청 정보를 안내 드립니다. 주문 생성 API는 별도 승인을 받은 앱에서 사용할 수 있습니다. 아래 항목을 작성해 개발자센터 메일로 전달 부탁 드립니다. 개발자센터 계정 이메일 앱 정보: 앱 이름 및 앱 ID 이용 매장 정보: 설치·이용 매장명 및 merchantId 상세 사용 목적: 매장에 제공하려는 서비스와 주문 생성 API가 필요한 이유를 작성해 주세요. 태블릿에서 주문을 접수한 뒤 토스 POS에 주문을 생성하고 매장에서 처리하기까지의 전체 흐름, 결제를 어디에서 언제 진행하는지도 함께 설명 부탁 드립니다. 매장 인지 여부: 매장 운영자에게 위 사용 목적과 외부 서비스에서 토스 POS에 주문을 생성하는 기능을 안내했는지, 매장 측이 해당 기능 사용을 인지하고 있는지 명시해 주세요. 4030 오류 확인을 위해 오류 발생 날짜·시각(한국 시간) 및 개발·운영 환경도 함께 전달 부탁 드립니다. API Key나 토큰은 보내지 않으셔도 됩니다. 전달해 주신 내용을 검토한 뒤 권한 부여 여부를 안내 드리겠습니다. 신청 항목은 주문 생성 API 가이드를 참고 부탁 드립니다.
  • 0 투표
    2 게시물
    10k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 문의 주신 알림음 재생 중 다른 앱의 소리를 조절하는 기능에 대해, 현재 지원 범위를 안내 드립니다. 1. Sound API 지원 범위 현재 Sound API에는 다른 앱의 소리를 자동으로 줄이거나 일시 정지한 뒤 복원하는 옵션이 없습니다. volume은 플러그인에서 재생하는 알림음 자체의 음량을 조절하는 값이므로, 100으로 설정해도 음악 앱의 소리는 줄어들지 않습니다. Sound API 가이드를 참고 부탁 드립니다. 2. 토스 POS 자체 알림음 현재 토스 POS 알림음 설정에서도 다른 앱의 음량을 자동 조절하는 설정은 제공하지 않습니다. 알림음 자체의 음량·반복 횟수 등을 설정하는 방식입니다. 3. 현재 가능한 대안 플러그인에서 애플뮤직·유튜브뮤직의 재생 상태나 음량을 제어하는 API는 제공하지 않습니다. 탭 화면의 audioSession 설정 역시 Sound API에서 제공하는 옵션이 아닙니다. 매장에서는 음악 재생 기기와 POS를 분리하거나, 음악 음량을 낮추고 알림음을 반복 재생하는 방식을 고려해 주세요. 다만 이는 알림 중에만 음악을 자동으로 줄이는 기능과는 다른 운영상 대안입니다. 요청해 주신 기능 추가 사항은 내부 검토 후 안내 드릴 예정입니다.
  • 0 투표
    2 게시물
    12k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 현재 외부결제 내역에는 플러그인 앱 이름이 등록되며, 앱 이름과 별도로 결제수단명을 지정하는 기능은 제공하지 않습니다. 외부결제 등록: Payment API의 payment.add로 EXTERNAL 결제를 등록할 때는 앱 이름을 사용합니다. 별도의 결제수단명을 입력하는 필드는 제공되지 않습니다. 결제 화면의 표시명: PaymentMethod API의 paymentMethod.add에서는 data.paymentName으로 POS 결제 화면에 표시할 결제수단 이름을 지정할 수 있습니다. 다만, 이는 선택 화면의 표시명이며 결제내역에 등록되는 앱 이름을 변경하는 기능은 아닙니다. 위 동작은 WebSocket 사용 여부와 관계없이 동일합니다. 자세한 내용은 Payment API 가이드와 PaymentMethod API 가이드를 참고해 주세요.
  • [공지] 자주 묻는 질문

    고정됨 자유 문의 pos 플러그인 프론트 플러그인 open-api
    1
    0 투표
    1 게시물
    13k 조회수
    토스플레이스-개발자센터토
    연동가이드 FAQ를 먼저 확인해 주세요 문의 전에 연동가이드 FAQ에서 관련 내용을 먼저 확인해 주세요. 개발·테스트·검수·배포와 제품별 주요 질문을 모아 두었어요. FAQ에서 답을 찾지 못했다면 포럼에 문의를 남겨 주세요. 1. 연동 수단 고르기 Q. 프론트 플러그인과 토스 POS를 함께 쓸 수 있나요? A. 동시 연결은 지원하지 않아요. 프론트 플러그인 모드는 외부 POS 또는 솔루션사 시스템과 토스 프론트를 연동하기 위한 모드예요. 토스 POS와 프론트를 함께 사용하신다면 프론트는 일반 연결 모드로 동작하고, 플러그인을 개발해 프론트 화면을 직접 구성하는 방식은 사용할 수 없어요. 이 구성에서 확장이 필요하면 POS 플러그인 SDK 또는 Open API를 검토해 주세요. Q. 그럼 어떤 구성에 어떤 수단을 써야 하나요? A. 쓰려는 구성에 따라 갈려요. 내 구성 쓸 수 있는 수단 토스 POS + 프론트 프론트는 일반 연결 모드. 확장은 POS 플러그인 SDK 또는 Open API 자체 POS·키오스크 + 프론트 (토스 POS 없음) 프론트 플러그인 SDK 외부 Windows POS에 결제만 추가 프론트 Windows DLL (제한적 지원, 사전 확인 필요) 서버에서 주문·결제 데이터만 조회 Open API 어떤 수단이 적합한지는 각 수단의 지원 범위를 연동 가이드에서 확인하신 후 판단해 주세요. 개발자센터에서는 수단별 지원 범위를 안내드리며, 서비스 요건에 맞는 구현 설계는 상담해 드리지 않아요. Q. 외부 POS에서 토스 프론트를 결제 단말기로만 쓸 수 있나요? A. 가능해요. 외부 시스템에서 주문 금액을 확정하고, 토스 프론트가 결제 승인과 취소를 수행하는 구조로 연동할 수 있어요. 결제 결과는 Payment API 응답으로 받아 솔루션사 서버에 저장해 주세요. 2. 서비스 이용료와 계약 Q. 이용료가 얼마인가요? A. 제품별 이용료는 아래 가이드에서 확인해 주세요. 플러그인 서비스 이용료 Q. 과금은 언제부터 시작되나요? A. 라이브 가맹점이 연결되는 시점부터예요. 개발 단계에서는 이용료가 발생하지 않아요. 테스트 가맹점 연결이나 개발 배포만으로는 과금되지 않아요. Q. 자체 매장 전용 플러그인도 과금되나요? A. 네. 솔루션사 여부와 관계없이 동일한 정책이 적용돼요. 자사 매장 내부 보고 목적으로 Open API를 연동하는 경우에도 같은 기준(연결 매장 10개 이하 무료)이 적용돼요. Q. 결제 수단이나 계좌는 어디서 등록하나요? 지금은 등록하실 것이 없어요. 2026년 12월 31일까지는 이용료가 발생하지 않아서 결제 수단이나 계좌를 등록하는 절차를 운영하지 않고 있어요. 과금 시점이 정해지면 등록 방법을 미리 안내드릴게요. 3. 개발·테스트 중 플러그인이 단말기에 보이지 않을 때 Q. 개발 배포했는데 단말기에 반영되지 않아요. A. 순서대로 확인해 주세요. 해당 단말기가 테스트 단말기로 등록되어 있는지 확인해 주세요. 개발 배포는 테스트 단말기(최대 5대)에만 적용돼요. 등록만으로는 적용되지 않아요. 등록한 뒤 로그아웃하고 테스트 가맹점 계정으로 재온보딩해야 적용돼요. 프론트는 설정 > 7055 > 토스 프론트 재시작, POS는 새로고침 또는 종료 후 재실행해 주세요. Q. 테스트 단말기 등록 목록이 비어 있어요. A. 등록은 프론트 단말기가 테스트 가맹점에 정상 로그인된 뒤에 가능해요. 최초 1회 순서는 아래와 같아요. 테스트 가맹점 정보(매장고유번호·사업자번호·휴대폰번호)로 프론트 온보딩 개발자센터 내 애플리케이션 > 단말기 등록에서 해당 단말기 등록 로그아웃 후 같은 정보로 재온보딩 목록이 계속 비어 있다면 온보딩 시 입력한 값이 개발자센터의 테스트 가맹점 상세에 표시된 값과 일치하는지 확인해 주세요. ::: tip 테스트 가맹점 관리의 ON은 다른 설정이에요 테스트 가맹점 관리에서 플러그인 사용 여부 ON은 가맹점과 플러그인을 연결하는 설정이에요. 단말기 등록 목록은 단말기와 테스트 가맹점의 로그인 상태를 기준으로 표시돼요. ON만으로 단말기가 목록에 나타나지는 않아요. ::: Q. 설정 화면(7055)에 플러그인 메뉴가 보이지 않아요. A. 설정 화면의 플러그인 메뉴는 해당 단말기에 플러그인이 정상적으로 로드된 경우에만 나타나요. 메뉴가 없다면 플러그인이 아직 적용되지 않은 상태이고, 그 메뉴에서 플러그인을 최초 설치할 수는 없어요. 로그아웃 후 테스트 가맹점 계정으로 재온보딩해 주세요. Q. POS 탭에 플러그인이 안 보여요. A. 토스 POS 1.22.9 버전 이상에서 탭 진입점이 GNB에서 LNB로 이동했어요. LNB에서 먼저 확인해 주세요. LNB에서도 보이지 않을 때 재온보딩이나 매니페스트 파일을 확인해 주세요. 4. 운영 매장에서 플러그인이 보이지 않을 때 Q. 대리점에 요청해서 ON 했는데 단말기에 나타나지 않아요. A. 이 순서로 확인해 주세요. 1번이 가장 흔한 원인이에요. 해당 단말기가 테스트 단말기로 등록되어 있지 않은지 확인해 주세요. 테스트 단말기에는 라이브 버전이 적용되지 않아요. 등록되어 있다면 개발자센터에서 테스트 단말기 등록을 해제해 주세요. VAN 대리점이 토스플레이스 파트너스에서 해당 매장 또는 단말기에 플러그인 앱을 활성화(ON)했는지 확인해 주세요. 프론트 앱을 재시작해 주세요. 설정 > 7055 > 토스 프론트 재시작 로그아웃 후 재온보딩해 주세요. ACL 등록값을 확인해 주세요. https://, http://, wss://처럼 프로토콜까지 실제 호출 URL과 일치해야 해요. Q. 라이브 배포 후에도 대기화면이 나오지 않아요. A. 위 1번(테스트 단말기 등록 해제)과 3번(프론트 재시작)을 먼저 확인해 주세요. 라이브 검수 통과 후에도 VAN 대리점의 활성화가 완료되어야 매장에 노출돼요. Q. 라이브로 전환한 매장을 다시 테스트로 되돌릴 수 있나요? A. 가능해요. 테스트와 라이브는 양방향으로 전환할 수 있고 재온보딩으로 처리돼요. VAN 대리점이 토스플레이스 파트너스에서 라이브 앱을 OFF (안정성을 위해 권장) 단말기 초기화 또는 로그아웃 테스트 매장으로 재온보딩 개발자센터에서 테스트 단말기 등록 5. merchantId 확인과 앱 연결 Q. 운영 매장의 merchantId는 어디서 확인하나요? A. 앱 설치 웹훅 이벤트(app.installation.created.v1)를 수신해서 확인하는 것이 공식 방법이에요. 내 앱이 어떤 매장에 설치되었는지는 이 이벤트로 확인할 수 있어요. 이벤트 payload에 매장 ID와 사업자등록번호가 함께 들어 있어서, 사업자등록번호를 기준으로 내부 시스템과 매핑할 수 있어요. 매장명·주소·영업시간도 같이 전달돼요. json { "type": "app.installation.created.v1", "merchantId": 42, "data": { "merchant": { "id": 42, "name": "플레이스 베이커리", "businessNumber": "0000000000" } }} 웹훅 수신 주소는 개발자센터 내 애플리케이션 > 웹훅에서 등록해 주세요. 앱을 연결하기 전에 미리 등록해 두시면 연결 시점에 바로 매장 ID를 받을 수 있어요. Q. 매장 조회 API로 먼저 찾을 수는 없나요? A. 매장 정보 조회 API는 merchantId를 이미 알고 있어야 호출할 수 있어요. 그리고 앱이 설치되지 않은 매장은 API를 호출할 수 없어요. 순서는 앱 연결 → 웹훅으로 매장 ID 확인 → 그 ID로 조회예요. 6. 라이브 검수 Q. 검수 전에 무엇을 준비해야 하나요? A. 별도로 정해진 필수 제출 서류 양식은 없어요. 개발자센터에서 라이브 배포 트랙에 플러그인 ZIP을 업로드한 뒤 [검수 요청] 버튼을 누르면 접수돼요. 추가로 필요한 자료가 있으면 검수 중에 개별적으로 요청드려요. 접수 전에 아래 세 가지는 직접 확인해 주세요. 모든 기능이 테스트 환경에서 정상 동작하는지 프론트 플러그인이라면 모든 화면이 Template API로 구성되어 있는지 개인정보 처리와 보안 정책을 준수하는지 Q. 통과 기준이 무엇인가요? A. 공통 4개 항목과, 프론트 플러그인에 추가되는 2개 항목을 확인해요. 항목 확인 내용 기능 검수 모든 기능이 명세대로 동작하는지 성능 검수 응답 속도와 안정성 보안 검수 개인정보·보안 문제 사용성 검수 사용자 경험이 적절한지 디자인 검수 (프론트 추가) Template API 사용 여부와 UI/UX 가이드라인 준수 제품 기능 검수 (프론트 추가) 결제·하드웨어 연동 등 핵심 기능 동작 프론트 플러그인에서 가장 자주 걸리는 항목은 디자인 검수예요. HTML·CSS를 직접 작성하거나 Template 바깥에 임의 텍스트·레이아웃을 추가하면 통과하지 못해요. Q. 검수는 얼마나 걸리나요? A. 두 가지를 함께 보셔야 해요. 검수를 진행하는 날: 매주 월·목요일(근무일 기준)이에요. 접수하신 시점 이후 가장 가까운 검수일에 들어가요. 검수 소요 시간: 검수가 시작된 뒤 평균 1-2일이에요. 결과는 이메일로 알려드려요. 접수 요일에 따라 전체 대기 기간이 달라져요. 오픈 일정이 정해져 있다면 라이브 검수 전에 개발 배포 트랙으로 먼저 검증해 주세요. 검수 승인 후에 수정하면 재검수로 일정이 밀려요. Q. 패키지를 바꾸지 않고 설정값만 바꿔도 다시 검수받아야 하나요? A. 검수는 라이브 배포 트랙에 패키지를 새로 업로드하고 검수 요청을 누를 때 진행돼요. 패키지 파일이 바뀌지 않으면 재검수는 발생하지 않아요. 문구나 설정값이 어디에 있느냐에 따라 갈려요. 솔루션사 서버에서 런타임에 내려오는 값이라면 → 서버만 수정, 재검수 불필요 플러그인 파일 안에 직접 작성되어 있다면 → 파일이 바뀌므로 재업로드 + 재검수 필요 Q. 자사 매장 1곳에서만 쓰는 플러그인도 검수를 받아야 하나요? A. 네, 절차는 같아요. 매장 수나 솔루션사 여부에 따른 예외는 없어요. 7. 새 매장에 배포할 때 Q. 라이브 검수를 한 번 통과하면 모든 매장에 적용되나요? A. 아니요. 두 가지를 구분해서 보셔야 해요. 검수는 플러그인 버전 단위예요. 한 번 승인되면 그 버전은 다시 검수받지 않아요. 매장 활성화는 매장 단위예요. 새 매장마다 활성화가 필요해요. 프론트 플러그인은 매장마다 VAN 대리점이 토스플레이스 파트너스에서 플러그인을 활성화해야 해요. 검수를 통과했다고 해서 자동으로 모든 매장에 노출되지는 않아요. Q. 연동 방식마다 다른가요? A. 네, 다릅니다. 연동 방식 새 매장 설치 방법 VAN 대리점 프론트 플러그인 VAN 대리점이 토스플레이스 파트너스에서 매장에 활성화 필요 POS 플러그인 서비스 코드를 가맹점에 전달 → 가맹점이 토스 POS에서 직접 설치 불필요 Open API 서비스 코드를 가맹점에 전달 → 가맹점이 직접 연결 불필요 단, 프론트 플러그인과 Open API를 함께 쓰는 구성이라면 결국 VAN 대리점을 거쳐야 해요. 두 가지를 같이 쓰실 계획이라면 새 매장마다 VAN 대리점 활성화가 필요한 것으로 보고 일정을 잡아 주세요. Q. 테스트 환경에서도 VAN 대리점이 필요한가요? A. 아니요. 테스트 가맹점은 개발자센터에서 직접 ON/OFF할 수 있어요. 8. 403 · 4010 권한 오류 Q. 서버 호출에 403이 반환돼요. 응답이 JSON이 아니고 HTML이에요. A. 응답 본문이 HTML이고 x-toss-event-id 헤더가 없다면, 요청이 애플리케이션 단계에 도달하지 못한 상태예요. 인증키 문제라면 JSON 오류 응답이 반환돼요. 먼저 User-Agent 헤더를 추가해서 재시도해 주세요. 기존 인증 헤더(x-access-key, x-secret-key)와 함께, 호출하는 서비스를 식별할 수 있는 값으로 지정해 주세요. GET /api-public/openapi/v1/merchants/{merchantId} x-access-key: ... x-secret-key: ... User-Agent: my-service/1.0 User-Agent가 없는 요청은 차단될 수 있고, 그 상태로 요청이 반복되면 해당 출구 IP가 차단 목록에 등록될 수 있어요. 재시도·헬스체크·배치 등 모든 호출 경로에 User-Agent가 들어가는지 확인해 주세요. ::: warning 해외 리전에서 호출하는 경우 응답의 CF-Ray 값 끝이 ICN이 아니라면 해외 엣지를 경유한 호출이에요. 재시도 후에도 403이 계속되면 호출 서버의 공개 출구 IP와 함께 문의해 주세요. 이 값이 있어야 차단 이력과 대조할 수 있어요. 클라우드 환경에서는 출구 IP가 여러 개일 수 있으니 전체를 알려주세요. ::: Q. 403 또는 4010 오류가 계속돼요. A. 아래 두 가지를 먼저 확인해 주세요. 요청 헤더의 x-access-key, x-secret-key 값 대상 매장에 앱이 설치되어 있는지 — 앱을 설치하지 않은 매장에는 API를 호출할 수 없어요 계속 오류가 발생하면 아래 정보와 함께 문의해 주세요. 응답 본문의 errorCode와 reason 응답 헤더의 x-toss-event-id 호출 시각(KST, 초 단위)과 도메인을 포함한 전체 호출 URL 호출 서버의 공개 출구 IP Q. 테스트 환경에서는 되는데 운영에서만 실패해요. A. 두 환경의 차이를 확인해 주세요. 운영 매장에 앱이 설치되어 있는지 (테스트 가맹점 설치와 별개예요) 호출 서버가 바뀌면서 출구 IP가 달라졌는지 운영 호출 경로에 User-Agent가 빠져 있지 않은지
  • 0 투표
    4 게시물
    13k 조회수
    김
    넵 감사합니다
  • 0 투표
    2 게시물
    13k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 1. getHalls 반환 형식 가이드상 반환값은 홀 목록 배열(PluginHall[])입니다. 각 항목에는 id(홀 ID), title(홀 이름), order(정렬 순서)가 포함됩니다. Table API 가이드를 참고해 주세요. 2. SDK 지원 버전 getHalls는 SDK 0.0.19에서 추가되었으며, 사용 중인 0.0.27에도 포함되어 있습니다. SDK 변경 이력을 참고해 주세요. 3. 라이브 환경 로그 확인 운영 웹 워커는 운영 문제 해결 가이드에 따라 Sentry 등으로 수집한 로그를 기반으로 확인해 주세요. 이번 문의에서는 getHalls 호출 직후의 반환값 자료형, 배열 여부, 배열인 경우 항목 수, 검증에 실패한 지점과 오류 메시지를 확인 부탁 드립니다. 오류 로그만으로는 정상 완료된 호출의 반환값을 확인하기 어려울 수 있으므로, 해당 정보가 기록되어 있지 않다면 호출 결과를 직접 로그로 남기도록 구성해 주세요.
  • 0 투표
    2 게시물
    13k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. POS 플러그인 SDK에서 고객용 채널 노출 on/off 설정값은 조회하실 수 없습니다.
  • 0 투표
    2 게시물
    13k 조회수
    토스플레이스-개발자센터토
    안녕하세요. 토스플레이스 개발자센터입니다. 판매할 때마다 상품과 옵션을 선택하는 과정에서, 플러그인 화면 공간이 좁아 불편을 겪고 계신 점 확인했습니다. 왼쪽 메뉴 접기·숨기기, 플러그인 화면 확대 등 화면 공간과 접근성 개선은 내부 검토 중입니다. 다만 현재 적용 여부와 일정이 확정되지 않아 구체적인 지원 시점을 안내 드리기 어렵습니다. 현재 공개된 플러그인 기능에는 POS의 왼쪽 메뉴를 직접 숨기거나, 기본 상품 선택 영역을 자체 UI로 교체하는 기능이 포함되어 있지 않습니다. 상품 등록·수정·삭제 API 역시 일반 제공 범위에는 포함되어 있지 않습니다. 전달해 주신 상품 검색·옵션 선택·결제로 이어지는 사용 흐름과 화면 공간 확보 필요성을 확인했습니다. 당장 적용 가능한 화면 확대 설정이나 상품 동기화 방식으로 안내 드리지 못하는 점 양해 부탁 드립니다.
  • 0 투표
    2 게시물
    13k 조회수
    violet.foxV
    안녕하세요, order.addMenu()의 dto.lineItems에는 새로 추가하는 항목만 넣어 주세요. 이미 저장된 항목까지 포함하면 그 항목이 한 번 더 반영됩니다. 기존 항목과 같으면 수량이 합산되고, 다르면 lineItem이 추가로 생성됩니다. 요청하신 예시 상황에서는 A를 다시 넣지 않고 B만 전달합니다. await sdk.order.addMenu(orderId, { discounts: [], lineItems: [ { ... item: { id: 2, title: 'B', ... }, ... }, ], }); 이미 저장된 주문 항목의 수량을 변경하거나 삭제하는 API는 현재 제공하지 않습니다. 감사합니다.